-
Notifications
You must be signed in to change notification settings - Fork 30.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fs: adjust position
validation in reading methods
#42835
fs: adjust position
validation in reading methods
#42835
Conversation
Could we land this as a semver-patch first, then the rest of this PR as
semver-major
|
Moved strikethrough parts in a separate PR. I'll rebase when that lands. Edit: when #42999 lands. 😅 |
1ae5b9e
to
3ef8619
Compare
@LiviaMedeiros this needs a rebase. |
3ef8619
to
b44201b
Compare
This is
semver-major
|
@nodejs/fs |
@LiviaMedeiros this needs another rebase. |
b44201b
to
0af1f46
Compare
Thanks for reminding! |
This comment was marked as outdated.
This comment was marked as outdated.
27cec0c
to
dc7a21e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Benchmark CI: https://ci.nodejs.org/view/Node.js%20benchmark/job/benchmark-node-micro-benchmarks/1387/ Results confidence improvement accuracy (*) (**) (***)
fs/bench-mkdirp.js n=10000 1.10 % ±1.86% ±2.45% ±3.16%
fs/bench-opendir.js bufferSize=1024 mode='async' dir='lib' n=100 0.39 % ±1.99% ±2.63% ±3.38%
fs/bench-opendir.js bufferSize=1024 mode='async' dir='test/parallel' n=100 -0.89 % ±1.30% ±1.71% ±2.20%
fs/bench-opendir.js bufferSize=1024 mode='callback' dir='lib' n=100 1.87 % ±1.97% ±2.60% ±3.35%
fs/bench-opendir.js bufferSize=1024 mode='callback' dir='test/parallel' n=100 ** -1.23 % ±0.90% ±1.19% ±1.53%
fs/bench-opendir.js bufferSize=1024 mode='sync' dir='lib' n=100 -0.15 % ±1.97% ±2.60% ±3.34%
fs/bench-opendir.js bufferSize=1024 mode='sync' dir='test/parallel' n=100 1.08 % ±3.17% ±4.19% ±5.38%
fs/bench-opendir.js bufferSize=32 mode='async' dir='lib' n=100 2.57 % ±2.63% ±3.47% ±4.46%
fs/bench-opendir.js bufferSize=32 mode='async' dir='test/parallel' n=100 -2.44 % ±3.00% ±3.96% ±5.09%
fs/bench-opendir.js bufferSize=32 mode='callback' dir='lib' n=100 -0.27 % ±1.62% ±2.13% ±2.74%
fs/bench-opendir.js bufferSize=32 mode='callback' dir='test/parallel' n=100 -0.79 % ±5.31% ±7.01% ±9.00%
fs/bench-opendir.js bufferSize=32 mode='sync' dir='lib' n=100 -0.25 % ±1.63% ±2.15% ±2.77%
fs/bench-opendir.js bufferSize=32 mode='sync' dir='test/parallel' n=100 0.43 % ±3.82% ±5.04% ±6.48%
fs/bench-opendir.js bufferSize=4 mode='async' dir='lib' n=100 -0.25 % ±1.46% ±1.92% ±2.47%
fs/bench-opendir.js bufferSize=4 mode='async' dir='test/parallel' n=100 * 1.08 % ±0.95% ±1.25% ±1.61%
fs/bench-opendir.js bufferSize=4 mode='callback' dir='lib' n=100 -0.23 % ±1.37% ±1.80% ±2.32%
fs/bench-opendir.js bufferSize=4 mode='callback' dir='test/parallel' n=100 0.10 % ±1.22% ±1.61% ±2.06%
fs/bench-opendir.js bufferSize=4 mode='sync' dir='lib' n=100 0.28 % ±1.79% ±2.36% ±3.03%
fs/bench-opendir.js bufferSize=4 mode='sync' dir='test/parallel' n=100 * -4.02 % ±3.35% ±4.42% ±5.69%
fs/bench-readdir.js withFileTypes='false' dir='lib' n=10 -0.43 % ±2.32% ±3.06% ±3.94%
fs/bench-readdir.js withFileTypes='false' dir='test/parallel' n=10 0.37 % ±0.65% ±0.85% ±1.10%
fs/bench-readdir.js withFileTypes='true' dir='lib' n=10 1.40 % ±2.30% ±3.03% ±3.90%
fs/bench-readdir.js withFileTypes='true' dir='test/parallel' n=10 -0.31 % ±0.55% ±0.73% ±0.94%
fs/bench-readdirSync.js withFileTypes='false' dir='lib' n=10 -1.64 % ±4.83% ±6.37% ±8.19%
fs/bench-readdirSync.js withFileTypes='false' dir='test/parallel' n=10 -0.52 % ±0.72% ±0.95% ±1.21%
fs/bench-readdirSync.js withFileTypes='true' dir='lib' n=10 1.32 % ±5.38% ±7.10% ±9.13%
fs/bench-readdirSync.js withFileTypes='true' dir='test/parallel' n=10 -0.66 % ±0.69% ±0.92% ±1.18%
fs/bench-realpath.js pathType='relative' n=10000 -1.23 % ±2.67% ±3.52% ±4.52%
fs/bench-realpath.js pathType='resolved' n=10000 0.32 % ±1.38% ±1.82% ±2.34%
fs/bench-realpathSync.js pathType='relative' n=10000 -0.60 % ±3.04% ±4.02% ±5.16%
fs/bench-realpathSync.js pathType='resolved' n=10000 -1.38 % ±2.87% ±3.79% ±4.87%
fs/bench-stat-promise.js statType='fstat' n=200000 1.02 % ±1.10% ±1.45% ±1.86%
fs/bench-stat-promise.js statType='lstat' n=200000 * 0.97 % ±0.94% ±1.24% ±1.59%
fs/bench-stat-promise.js statType='stat' n=200000 * 1.12 % ±0.88% ±1.16% ±1.49%
fs/bench-stat.js statType='fstat' n=200000 * -1.19 % ±0.98% ±1.30% ±1.67%
fs/bench-stat.js statType='lstat' n=200000 * 1.08 % ±1.03% ±1.36% ±1.75%
fs/bench-stat.js statType='stat' n=200000 -0.06 % ±1.06% ±1.40% ±1.80%
fs/bench-statSync-failure.js statSyncType='noThrow' n=1000000 -0.53 % ±0.69% ±0.91% ±1.17%
fs/bench-statSync-failure.js statSyncType='throw' n=1000000 -0.03 % ±1.02% ±1.35% ±1.73%
fs/bench-statSync.js statSyncType='fstatSync' n=1000000 0.11 % ±0.63% ±0.84% ±1.08%
fs/bench-statSync.js statSyncType='lstatSync' n=1000000 -0.25 % ±0.82% ±1.08% ±1.39%
fs/bench-statSync.js statSyncType='statSync' n=1000000 -0.41 % ±0.63% ±0.83% ±1.07%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='asc' 1.06 % ±1.39% ±1.84% ±2.37%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='buf' * 1.10 % ±0.94% ±1.24% ±1.59%
fs/read-stream-throughput.js n=1024 highWaterMark=1024 filesize=1024000 encodingType='utf' 0.38 % ±0.79% ±1.04% ±1.34%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='asc' -0.73 % ±0.95% ±1.26% ±1.62%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='buf' * 0.94 % ±0.74% ±0.98% ±1.25%
fs/read-stream-throughput.js n=1024 highWaterMark=1048576 filesize=1024000 encodingType='utf' 0.14 % ±0.46% ±0.60% ±0.78%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='asc' -0.13 % ±0.97% ±1.28% ±1.64%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='buf' 0.26 % ±0.89% ±1.18% ±1.51%
fs/read-stream-throughput.js n=1024 highWaterMark=4096 filesize=1024000 encodingType='utf' 0.18 % ±0.37% ±0.48% ±0.62%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='asc' -0.59 % ±1.79% ±2.36% ±3.04%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='buf' 0.54 % ±1.24% ±1.64% ±2.11%
fs/read-stream-throughput.js n=1024 highWaterMark=65535 filesize=1024000 encodingType='utf' -0.08 % ±0.36% ±0.47% ±0.61%
fs/readfile-partitioned.js concurrent=1 len=1024 encoding='' duration=5 0.04 % ±0.67% ±0.88% ±1.13%
fs/readfile-partitioned.js concurrent=1 len=1024 encoding='utf-8' duration=5 -0.04 % ±0.73% ±0.96% ±1.24%
fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='' duration=5 0.04 % ±0.94% ±1.24% ±1.59%
fs/readfile-partitioned.js concurrent=1 len=16777216 encoding='utf-8' duration=5 -1.59 % ±1.78% ±2.35% ±3.01%
fs/readfile-partitioned.js concurrent=10 len=1024 encoding='' duration=5 0.03 % ±1.07% ±1.41% ±1.81%
fs/readfile-partitioned.js concurrent=10 len=1024 encoding='utf-8' duration=5 0.67 % ±1.16% ±1.53% ±1.97%
fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='' duration=5 0.31 % ±1.23% ±1.62% ±2.08%
fs/readfile-partitioned.js concurrent=10 len=16777216 encoding='utf-8' duration=5 -1.21 % ±1.85% ±2.44% ±3.13%
fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='' duration=5 * -1.02 % ±0.91% ±1.20% ±1.54%
fs/readfile-permission-enabled.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.54 % ±0.84% ±1.11% ±1.42%
fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='' duration=5 1.73 % ±2.23% ±2.95% ±3.79%
fs/readfile-permission-enabled.js concurrent=1 len=16777216 encoding='utf-8' duration=5 0.04 % ±0.40% ±0.52% ±0.67%
fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='' duration=5 -0.58 % ±1.03% ±1.36% ±1.75%
fs/readfile-permission-enabled.js concurrent=10 len=1024 encoding='utf-8' duration=5 0.30 % ±1.21% ±1.60% ±2.05%
fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='' duration=5 -0.28 % ±2.86% ±3.78% ±4.85%
fs/readfile-permission-enabled.js concurrent=10 len=16777216 encoding='utf-8' duration=5 -0.34 % ±0.84% ±1.10% ±1.42%
fs/readfile-promises.js concurrent=1 len=1024 encoding='' duration=5 * 1.43 % ±1.32% ±1.74% ±2.23%
fs/readfile-promises.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.01 % ±1.40% ±1.85% ±2.38%
fs/readfile-promises.js concurrent=1 len=16777216 encoding='' duration=5 * -0.66 % ±0.64% ±0.85% ±1.09%
fs/readfile-promises.js concurrent=1 len=16777216 encoding='utf-8' duration=5 -0.23 % ±0.60% ±0.79% ±1.01%
fs/readfile-promises.js concurrent=1 len=33554432 encoding='' duration=5 0.04 % ±0.44% ±0.58% ±0.75%
fs/readfile-promises.js concurrent=1 len=33554432 encoding='utf-8' duration=5 0.27 % ±0.48% ±0.64% ±0.82%
fs/readfile-promises.js concurrent=1 len=4194304 encoding='' duration=5 0.24 % ±0.80% ±1.05% ±1.35%
fs/readfile-promises.js concurrent=1 len=4194304 encoding='utf-8' duration=5 0.29 % ±0.96% ±1.27% ±1.63%
fs/readfile-promises.js concurrent=1 len=524288 encoding='' duration=5 0.27 % ±1.63% ±2.16% ±2.77%
fs/readfile-promises.js concurrent=1 len=524288 encoding='utf-8' duration=5 0.22 % ±1.03% ±1.36% ±1.75%
fs/readfile-promises.js concurrent=1 len=8388608 encoding='' duration=5 -0.45 % ±0.62% ±0.82% ±1.05%
fs/readfile-promises.js concurrent=1 len=8388608 encoding='utf-8' duration=5 -0.09 % ±0.46% ±0.60% ±0.78%
fs/readfile-promises.js concurrent=10 len=1024 encoding='' duration=5 * 0.84 % ±0.79% ±1.04% ±1.33%
fs/readfile-promises.js concurrent=10 len=1024 encoding='utf-8' duration=5 -0.01 % ±0.86% ±1.14% ±1.46%
fs/readfile-promises.js concurrent=10 len=16777216 encoding='' duration=5 0.37 % ±1.03% ±1.36% ±1.74%
fs/readfile-promises.js concurrent=10 len=16777216 encoding='utf-8' duration=5 0.47 % ±0.71% ±0.93% ±1.20%
fs/readfile-promises.js concurrent=10 len=33554432 encoding='' duration=5 0.13 % ±0.64% ±0.84% ±1.09%
fs/readfile-promises.js concurrent=10 len=33554432 encoding='utf-8' duration=5 0.21 % ±0.42% ±0.55% ±0.71%
fs/readfile-promises.js concurrent=10 len=4194304 encoding='' duration=5 0.13 % ±1.24% ±1.63% ±2.10%
fs/readfile-promises.js concurrent=10 len=4194304 encoding='utf-8' duration=5 0.49 % ±0.80% ±1.05% ±1.35%
fs/readfile-promises.js concurrent=10 len=524288 encoding='' duration=5 -0.37 % ±1.71% ±2.26% ±2.90%
fs/readfile-promises.js concurrent=10 len=524288 encoding='utf-8' duration=5 0.08 % ±0.65% ±0.86% ±1.10%
fs/readfile-promises.js concurrent=10 len=8388608 encoding='' duration=5 0.62 % ±0.94% ±1.24% ±1.60%
fs/readfile-promises.js concurrent=10 len=8388608 encoding='utf-8' duration=5 0.48 % ±0.75% ±0.99% ±1.27%
fs/readfile.js concurrent=1 len=1024 encoding='' duration=5 * -0.76 % ±0.74% ±0.97% ±1.25%
fs/readfile.js concurrent=1 len=1024 encoding='utf-8' duration=5 0.44 % ±0.77% ±1.02% ±1.31%
fs/readfile.js concurrent=1 len=16777216 encoding='' duration=5 0.04 % ±2.56% ±3.38% ±4.35%
fs/readfile.js concurrent=1 len=16777216 encoding='utf-8' duration=5 0.06 % ±0.39% ±0.52% ±0.67%
fs/readfile.js concurrent=10 len=1024 encoding='' duration=5 0.60 % ±1.06% ±1.40% ±1.79%
fs/readfile.js concurrent=10 len=1024 encoding='utf-8' duration=5 * 1.25 % ±0.98% ±1.29% ±1.66%
fs/readfile.js concurrent=10 len=16777216 encoding='' duration=5 -1.11 % ±2.72% ±3.59% ±4.61%
fs/readfile.js concurrent=10 len=16777216 encoding='utf-8' duration=5 0.45 % ±0.89% ±1.17% ±1.50%
fs/readFileSync.js n=600 path='existing' encoding='undefined' -0.85 % ±2.33% ±3.07% ±3.95%
fs/readFileSync.js n=600 path='existing' encoding='utf8' -0.69 % ±2.34% ±3.09% ±3.97%
fs/readFileSync.js n=600 path='non-existing' encoding='undefined' -0.73 % ±1.21% ±1.60% ±2.06%
fs/readFileSync.js n=600 path='non-existing' encoding='utf8' 0.19 % ±1.39% ±1.84% ±2.36%
fs/write-stream-throughput.js size=1024 encodingType='asc' dur=5 0.39 % ±0.85% ±1.12% ±1.45%
fs/write-stream-throughput.js size=1024 encodingType='buf' dur=5 -0.10 % ±0.72% ±0.95% ±1.23%
fs/write-stream-throughput.js size=1024 encodingType='utf' dur=5 0.05 % ±0.69% ±0.91% ±1.17%
fs/write-stream-throughput.js size=1048576 encodingType='asc' dur=5 0.37 % ±0.79% ±1.04% ±1.34%
fs/write-stream-throughput.js size=1048576 encodingType='buf' dur=5 0.13 % ±0.30% ±0.39% ±0.50%
fs/write-stream-throughput.js size=1048576 encodingType='utf' dur=5 0.42 % ±0.79% ±1.04% ±1.34%
fs/write-stream-throughput.js size=2 encodingType='asc' dur=5 * 0.95 % ±0.86% ±1.13% ±1.45%
fs/write-stream-throughput.js size=2 encodingType='buf' dur=5 -0.56 % ±0.91% ±1.21% ±1.55%
fs/write-stream-throughput.js size=2 encodingType='utf' dur=5 0.41 % ±1.12% ±1.48% ±1.90%
fs/write-stream-throughput.js size=65535 encodingType='asc' dur=5 0.04 % ±0.45% ±0.59% ±0.76%
fs/write-stream-throughput.js size=65535 encodingType='buf' dur=5 -0.08 % ±0.37% ±0.48% ±0.62%
fs/write-stream-throughput.js size=65535 encodingType='utf' dur=5 -0.00 % ±1.05% ±1.38% ±1.77%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='asc' duration=5 0.59 % ±1.55% ±2.04% ±2.62%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='buf' duration=5 -0.14 % ±1.58% ±2.08% ±2.67%
fs/writefile-promises.js concurrent=1 size=1024 encodingType='utf' duration=5 * 1.59 % ±1.53% ±2.02% ±2.60%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='asc' duration=5 0.32 % ±0.99% ±1.31% ±1.68%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='buf' duration=5 0.20 % ±0.62% ±0.82% ±1.05%
fs/writefile-promises.js concurrent=1 size=1048576 encodingType='utf' duration=5 0.49 % ±0.78% ±1.03% ±1.33%
fs/writefile-promises.js concurrent=1 size=2 encodingType='asc' duration=5 -0.19 % ±1.53% ±2.02% ±2.59%
fs/writefile-promises.js concurrent=1 size=2 encodingType='buf' duration=5 1.01 % ±1.50% ±1.97% ±2.54%
fs/writefile-promises.js concurrent=1 size=2 encodingType='utf' duration=5 -0.37 % ±1.57% ±2.07% ±2.66%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='asc' duration=5 -0.33 % ±2.07% ±2.74% ±3.52%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='buf' duration=5 -0.11 % ±1.70% ±2.24% ±2.88%
fs/writefile-promises.js concurrent=1 size=65535 encodingType='utf' duration=5 -0.75 % ±1.53% ±2.02% ±2.59%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='asc' duration=5 0.58 % ±1.01% ±1.33% ±1.71%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='buf' duration=5 0.47 % ±0.69% ±0.92% ±1.18%
fs/writefile-promises.js concurrent=10 size=1024 encodingType='utf' duration=5 0.58 % ±1.07% ±1.41% ±1.81%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='asc' duration=5 0.17 % ±0.73% ±0.96% ±1.24%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='buf' duration=5 -0.46 % ±1.37% ±1.81% ±2.32%
fs/writefile-promises.js concurrent=10 size=1048576 encodingType='utf' duration=5 -0.14 % ±0.54% ±0.71% ±0.91%
fs/writefile-promises.js concurrent=10 size=2 encodingType='asc' duration=5 0.38 % ±0.81% ±1.06% ±1.37%
fs/writefile-promises.js concurrent=10 size=2 encodingType='buf' duration=5 -0.31 % ±0.98% ±1.30% ±1.67%
fs/writefile-promises.js concurrent=10 size=2 encodingType='utf' duration=5 0.17 % ±0.79% ±1.04% ±1.33%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='asc' duration=5 -0.43 % ±1.05% ±1.39% ±1.78%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='buf' duration=5 -0.33 % ±1.07% ±1.41% ±1.82%
fs/writefile-promises.js concurrent=10 size=65535 encodingType='utf' duration=5 0.39 % ±1.07% ±1.41% ±1.81% |
Landed in b3ec13d |
Notable Changes: TODO Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #49639 * (SEMVER-MAJOR) drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 8ec2651fbdd8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 89b3702c92b0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick de9a5de2274f (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick b5b5d6c31bb0 (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 93b1a74cbc9b (Michaël Zasso) #49639 * (SEMVER-MAJOR) V8: cherry-pick 1a3ecc2483b2 (Michaël Zasso) #49639 * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639 * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #49639 * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #49639 * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) #49639 * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) update usage of always on Atomics API (Michaël Zasso) #49639 * (SEMVER-MAJOR) mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) only defer _final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) rename internal NAPI_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) skip v8-updates/test-linux-perf (Michaël Zasso) #49639 * (SEMVER-MAJOR) skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt REPL test to V8 changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt test-fs-write to V8 internal changes (Michaël Zasso) #49639 * (SEMVER-MAJOR) update flag to disable SharedArrayBuffer (Michaël Zasso) #49639 * (SEMVER-MAJOR) adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639 * (SEMVER-MAJOR) disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) add new V8 headers to distribution (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.8 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.7 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.6 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.5 (Michaël Zasso) #49639 * (SEMVER-MAJOR) update V8 gypfiles for 11.4 (Michaël Zasso) #49639 * (SEMVER-MAJOR) runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) #45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) #50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) #49144 fs: * add flush option to writeFile() functions (Colin Ihrig) #50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) #47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) #50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) #49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 stream: * optimize Writable (Robert Nagy) #50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) #47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) #49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) #46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) #42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) #47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) #48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) #47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) #48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) #49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) #49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) #47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) #49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) #49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) #49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) #49720 PR-URL: #49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
This prohibits invalid values (< -1 and non-integers) and allows `filehandle.read()` to handle position up to `2n ** 63n - 1n` PR-URL: nodejs#42835 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Notable Changes: doc: * promote fetch/webstreams from experimental to stable (Steven) nodejs#45684 esm: * use import attributes instead of import assertions (Antoine du Hamel) nodejs#50140 * --experimental-default-type flag to flip module defaults (Geoffrey Booth) nodejs#49869 * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) nodejs#49144 fs: * add flush option to writeFile() functions (Colin Ihrig) nodejs#50009 * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) nodejs#47653 http: * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 lib: * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) nodejs#49830 * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 stream: * optimize Writable (Robert Nagy) nodejs#50012 test_runner: * (SEMVER-MAJOR) support passing globs (Moshe Atlow) nodejs#47653 vm: * use default HDO when importModuleDynamically is not set (Joyee Cheung) nodejs#49950 Semver-Major Commits: * (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) nodejs#49051 * (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) nodejs#49164 * (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) nodejs#49140 * (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) nodejs#48981 * (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) nodejs#46018 * (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) nodejs#42835 * (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) nodejs#50167 * (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) nodejs#47497 * (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) nodejs#48605 * (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) nodejs#47769 * (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) nodejs#47202 * (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) nodejs#48606 * (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) nodejs#48276 * (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) nodejs#47385 * (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) nodejs#48501 * (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) nodejs#49639 * (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) nodejs#47839 * (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) nodejs#47604 * (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) nodejs#47218 * (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) nodejs#49935 * (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) nodejs#47653 * (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) nodejs#49973 * (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) nodejs#49896 * (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) nodejs#49609 * (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) nodejs#49720 PR-URL: nodejs#49870 Co-authored-by: Michaël Zasso <targos@protonmail.com>
This prohibits invalid values (< -1 and non-integers) and allows `filehandle.read()` to handle position up to `2n ** 63n - 1n` PR-URL: nodejs#42835 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This PR:
position
argument tofilehandle.read()
, same as in cousin methodsfilehandle.read()
Number.MIN_SAFE_INTEGER
to-1
-2⁶³
to-1
2⁶³ - 1
to2⁶³ - 1 - length
Tests are still passing and documented features are still working, but there are potentially breaking changes:
filehandle.read()
, an exception is thrown.filehandle.read()
, it works.-1
or-1n
which explicitly means current position), an exception is thrown.2⁶³ - 1
), and addinglength
breaks this limit, an exception is thrown.EINVAL
fromread(2)
(platform-dependent)